home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cml / cml-098.lha / cml-0.9.8 / CHANGES next >
Text File  |  1993-02-08  |  4KB  |  113 lines

  1. This file records the changes between different versions of CML.
  2.  
  3.  
  4. CML 0.9.8 (02/01/93)
  5. --------------------
  6.  
  7. - the TraceCML module has been greatly enriched.  A mechanism for controlling
  8.   debugging printing, called trace modules, has been implemented.  Also a
  9.   mechanism for watching for unexpected thread termination has been added,
  10.   and the mechanism for reporting uncaught exceptions has been improved.
  11.   All of these changes were suggested and prototyped by C. Krumvieda.
  12.  
  13. - reorganized the source files into separate signature and structure files.
  14.  
  15. - implemented CML.syncOnExcept.
  16.  
  17. - fixed a bug in poll, where polling a single event that had an abort action
  18.   did invoke the abort action (reported by C. Krumvieda).
  19.  
  20. - implemented CIO.input_string, which had been unimplemented.
  21.  
  22. - fixed a bug in CIO.input, where input was being lost (reported by T. Yan).
  23.  
  24. - split ConcurML functor into two structures: BaseCML and CML.  The more
  25.   expensive (and less common) scheduling activities (e.g., checking for
  26.   pending I/O) have been moved to BaseML.  This results in better than a
  27.   factor of two reduction in the cost of context switching.
  28.  
  29.  
  30. CML 0.9.7 (7/29/92)
  31. -------------------
  32.  
  33. - split scheduling queue into primary and secondary queues to provide better
  34.   interactive responsiveness when under load.
  35.  
  36. - fixed bug in syncOnOutput, which always returned false (reported by R. Cooper).
  37.  
  38.  
  39. CML 0.9.6 (10/11/91)
  40. -------------------
  41.  
  42. - fixed bug in RunCML.exportFn
  43.  
  44. - fixed bug in wrapAbort.
  45.  
  46. - The version of callcc used by CML has an unsafe type; it has been moved to
  47.   System.Unsafe.PolyCont, and this version of CML is modified accordingly.
  48.  
  49. - The type of callcc in the signature CONCUR_CALLCC has been changed to a weak
  50.   type (since the other typing is unsound).
  51.  
  52. - Changed CIO.execute (and added CIO.execute_in_env) to track changes to SML/NJ's
  53.   IO structure.  This also fixes a bug with the environment that is passed to
  54.   the sub-process.
  55.  
  56.  
  57. CML 0.9.5 (7/12/91)
  58. -------------------
  59.  
  60. - fixed typing error in cio.sml, which was exposed by SML/NJ 0.70
  61.  
  62. - added always event constructor; this will replace the ALWAYS value,
  63.   but we are keeping it around for backward compatibility.
  64.  
  65.  
  66. CML 0.9.4 (6/1/91)
  67. ------------------
  68.  
  69. - renamed wait event constructor to threadWait
  70.  
  71. - added a total ordering on thread identifiers
  72.  
  73. - added waitUntil event constructor for synchronizing on an absolute time
  74.  
  75. - Changed poll to be an asynchronous version of sync (instead of an
  76.   event constructor).
  77.  
  78. - Reimplemented the CIO library using guards and wrapAbort.  Made
  79.   input, inputc and input_line operations synchronous (to match
  80.   the SML IO signature) and added inputEvt, inputcEvt and inputLineEvt
  81.   as event-valued forms.  Also added can_input and lookahead operations,
  82.   and a mechanism for piping channels into and out of streams
  83.  
  84. - added condition variables
  85.  
  86. - moved the SafeCallCC functor to the library
  87.  
  88.  
  89. CML 0.9.3 (internal version)
  90. ----------------------------
  91. This version included the first implementation of guards and
  92. wrapAbort.  It was used for the benchmarks in the SIGPLAN'91
  93. PLDI paper.
  94.  
  95.  
  96. CML 0.9.2 (1/15/91)
  97. -------------------
  98. This version (which actually had several minor releases) fixed a significant
  99. space leak problem (sync was breaking tail recursion).
  100. This fix required a patch to SML/NJ, which was included in version 0.68.
  101. There wer also some minor patches to the CIO module.
  102.  
  103.  
  104. CML 0.9.1 (internal version)
  105. ----------------------------
  106. This version fixed some minor bugs and improved performance, but it
  107. was never released.
  108.  
  109.  
  110. CML 0.9 (10/1/91)
  111. -----------------
  112. This was the first release of CML
  113.